Climate Change and Coral Reefs


Introduction

Table of Contents


Coral reefs are the most diverse and complex marine ecosystem and comprise the largest biological structure on the earth. For most people, they are a place of vibrant colors, high biodiversity and full of life. Recently, however, coral reefs have been facing increasing hazards and threats and many coral habitats worldwide have been declining rapidly.

Coral bleaching is one of the worst problems for ocean biodiversity and climate. The ever-increasing level of carbon dioxide in the atmosphere causes rising temperatures, which in turn causes ocean acidification, impacting both fishes and coral reefs across the globe. As the human population of the Earth continues to grow and the effects of climate change become more prevalent, it would be expected to witness even worse conditions for coral reefs, fishes and in turn humans. Declines in fish population and coral diversity will have an effect on all living things and is a course for disaster.

The UN's 13th goal of Sustainable Development of below 2 degrees increase in temperature in the next 50 years will be impossible to withold unless something drastic is done in the next three years!

This article will showcase the problem at hand and the correlations between human made climate change, with a perspective to tourism and overfishing to understand how the coral reefs suffer and what is to be expected in the coming years.

What is coral bleaching?

Most reef-forming corals contain symbiotic microscopic algae (zooxanthellae), which under usual conditions provide up to 90% of the energy requirement of corals. Certain environmental conditions, however, may provoke stress to the corals, and their stress response results in these algae being expelled from the coral host. Zooxanthellae contain colorful pigments, and their departure reveals the coral's white underlying calcium carbonate skeleton through the translucent tissue - the coral appears “bleached”. The images below are of a normal coral (left) and a bleached coral (right), showing the drastic change in appearance caused by coral stess.

Coral bleaching - before and after

Environmental stressors including low salinity, unusually cold temperature and increased exposure to light can result in localized coral bleaching. However, mass coral bleaching events have been linked to warm oceanic temperature anomalies, which occur on the scale of hundreds to thousands of kilometers, when ambient water temperatures exceed the coral's tolerance level. Such bleaching has an impact on the animal habitats as the symbiotic system is made vulnerable and in some cases destroyed.

Data used in our research

Datasets have been gathered from the NOAA, National Oceanic and Atmosphere Administration, which runs several services useful for our investigation. One of them -Coral Reef Watch- provides information on sea surface temperature. Comparison of these temperatures with long-term monthly climatology enables emitting of bleaching alerts for coral reefs at their locations. Another dataset -Simple Ocean Data Assimilation (SODA)- aims to reconstruct the physical and biogeochemical history of the ocean, and has data of ph-level, co2 etc. on a global scale. From these datasets we have analysed the years from 1986 all the way up to 2020, as those are the years were the data is complete.

This article lets you explore the general tendencies and correlation, while zooming into specific coral reef locations to showcase the problem at hand. In the map below, you can see the stations where temperature readings has been gathered from. Feel free to explore the map by zooming in and taking a closer look.

Mounted at /content/drive
Make this Notebook Trusted to load map: File -> Trust Notebook

Part 1: What is the Cause of Coral Bleaching

Table of Contents


To start with, an overview of the trends of climate measurements and bleaching alerts from 1986 to 2020 has been constructed.

The Figure below shows the amount of yearly bleaching alerts through the years. The levels are as follows:

  • Alert level 0: no thermal stress to the corals
  • Alert level 1: bleaching watch - the temperature trend attracts attention
  • Alert level 2: bleaching warning - stress will begin if temperature increases
  • Alert level 3: significant bleaching expected within weeks
  • Alert level 4: severe, widespread bleaching and coral mortality expected

It is known that major bleaching events occurred in 1998 and 2017, where temperatures also reached an abnormal level. In fact 1998 was a temperature record year in the 20th century. Sea surface temperature is the exact measure used to classify bleaching alerts, and so it is not a coincidence that higher temperature means more severe bleaching alerts.

In the Figure above, bleaching alert level 0 has been omitted, displaying only levels 1 through 4.

The global general trend of bleaching alerts shows that, as alerts from higher levels become more prevalent, severe bleaching is becoming more and more regular with the passage of time. Here the years examined above are clearly frequented by bleaching; not only level 4 alerts are significantly higher, but also levels 3 and 2.

The following Figure shows the tendencies of temperature and CO2, which follows the often described course of climate change. It is also shown how alkalinity and pH-level develops over time on a global scale. In the Figure you can explore both the yearly and monthly trends by clicking the tabs.

The emission of CO2 is already attributed to climate change and rise in temperature and thereby sealevel rise. But another grueling aspect of higher concentration of carbon dioxid in the atmosphere is the release of more free hydrogen ions into the water making it acidic thus contributing even more to coral bleaching and general crisis in animal and coral life.

Alkalinity works as a buffer for this acidification and the production of bicarbonate and the calcification of corals.

Looking at the yearly average of these measurements, it is clear that temperature, CO2 and pH has a tendency as described above. Especially CO2 and pH have very similar curves and seem to be negatively correlated. This is not so clear for alkalinity, which seems to be a little bit lower in recent years.

The seasonal trends are also shown in the Figure within the monthly tab, here it is noticeable that there is a higher concentration of CO2 in the atmosphere when it is summer in the southern hemisphere of the world. This could be attributed to fact that there is less landmass resulting in increased amount of data from these regions, which in turn skewes the monthly averages. Another explanation could be that the areas with more landmass and thus more trees could to a higher extent convert CO2 to oxygen in the spring when most trees grow their leafs. There is also peaks in temperature in the summer months of both hemispheres.

The pH level and CO2 concentration peak oppositely; months with higher values of CO2 are months where the pH level is lower, i.e. more acidic. The reason for this suspecious relation is that CO2 concentration measured is used to calculate the pH-levels.

The most noticeable is the very steep drop in alkalinity in the months July, September and August, perhaps attributed to the lower CO2 concentration in the atmosphere in these months. Here there is a much clearer trend than was seen in the yearly trends and visualizes the more seasonal dependency of these variables.

The carbon cycle is a very delicate system and it is very difficult to say how everything effects coral bleaching and health in general, although there seems to be a clear tendency between the emission of fossil fuels and the increase in temperature and acidification.

Heatmaps of cumulated Level 4 alerts in different years

Take a look at the following heatmaps, where the years of major bleaching alerts have been included; namely 1998 and 2017. As a contrast the year 2001 is included to show the amount of level 4 bleaching in a "normal" year. The heatmaps depict the amount of level 4 bleaching alerts throughout the corresponding year.

It is clearly seen based on these heatmaps that coral reefs are located around the equator, meaning higher temperatures are to be expected.

It is also noticeable that the amount of alerts are much higher in 2017; where there seems to be much more frequent bleaching all around the globe, with the exception of the middle east. The reefs off the coast of Australia and South east Asia seems to be extremely effected by higher temperatures and in turn increased coral bleaching. Remember level 4 alerts are classified as severe bleaching, so it would be expected that the coral reefs are at a high risk of mortality in these areas.

For the year 2001 the lower amount of level 4 bleaching compared to 1998 and 2017 doesnt mean that there arent still bleaching that occurs, it is just not as widespread and serious. To understand how the bleaching alerts develop, it can be shown how frequent the different alerts are through the period and it is also interesting to understand the development in recent times.

So far we have gotten a sense of the very severe development of climate change and thus coral bleaching, but to get a better idea of relations between bleaching and climate, the following will be a more in-depth examination of the correaltions between the different variables.

Part 2: A Closer Look at the Climate

Table of Contents


How are the climate variables connected? To answer this question, one must first look at the correlation plots to analyse how the average variables temperature (avg_temp), CO2 (avg_co2), pH (avg_ph) and total alkalinity (avg_talk) are linked. The correlation plots below show how some of the variables are positively or negatively connected.

It is clearly seen in the Figure above that temperature, CO2 and pH are correlated. The strongest correlation is seen between pH and CO2, where an increase in CO2 causes a decrease in pH, hence a strong negative correlation. The CO2 from the atmosphere is dissolved in the seawater, thereby decreasing the pH. The increase in atmospheric CO2 over time will therefore be linked to a corresponding decrease in pH. For the dataset used to contruct these visualizations, the pH variable is actually calculated directly from the measured CO2. The reason the two variables are not completely correlated, might be due to rounding of the calculated pH.

The average temperature and CO2 are also correlated, showing increasing temperature relating to increasing CO2.

With global warming, it seems that the increasing temperature and CO2 will almost certainly decrease the pH levels of the water. The negative effects of the ocean acidification is not only limited to the corals, but affects these directly by removing carbonate, which is a calcifying agent needed to build and maintain the skeleton of the corals. It seems as though something has to change if the corals should have a fair chance of surviving the global warming.

The most interesting correlation here is the average temperature and average CO2 as these are from measured values. There seems to be a strong correlation between these as would be expected from a climate change perspective.

The rest of the correlations reveal what has already been discussed; namely that pH is calculated from CO2, Which is why the correlation is almost perfect and this is also why the correlation in the Figures CO2 vs. Alkalinity and pH vs. Alkalinity are symmetric.

It would seem that some of these visualisations are not useful, but the information gained is that it can be difficult to find causality between variables. It is not trivielle that pH is not a measured value, but finding this can be important for latter conclusions. And so exhaustive examinination is necessary for a clear analysis and to understand the dynamics of the oceans and coral reefs.

From the previous Figures it was seen that the average yearly temperature increases over time, but is this really the case everywhere on the globe? To help better understand the change in temperature over time the Figure below depicts the temperature as a function of latitude (lat), with latitude ranging from 90 at the north pole to -90 at the south pole, making 0 the location of the equator. In the first plot the yearly maximum (max), mean and minimum (min) are calculated at all measured latitudes, and show the range of temperatures at all latitudes.

In order to depict the general change in temperature over the years the temperature and latitude data of each selected range of years was fitted to a second order polynomial. The difference in temperature are small relative to the normal range of temperature, meaning the difference between the ranges of years might be of more interest. The difference in temperature is calculated as the fitted curve for the range of years minus the fitted curve for year [1982-1990].

The yearly max, mean and min temperature show that the general temperature range is around 10 degrees at most lattitudes. As expected higher temperatures are seen around the equator, lowering towards the north and south pole. A quite small range of temperature can be seen at latitudes of 0 to 10, where it only changes around 7 degrees. The water temperaure in these areas can therefore be expected to be both higher and more constant than other regions of the globe.

The temperature differences for the fitted curves show an overall steady increase in temperature over time, but also that the overall increase in temperature is not equal across the globe. The increase in temperature is much lower towards the poles and is highest around the equator (lat = 0) and further north to latitudes of around 40.

The Great Barrier Reef has a latitude of around -16.4, meaning it is well within the range of latitudes that have seen a yearly increase in temperature of roughly 0.2 degrees celcius between the last two decades. If nothing is done to prevent it, the pattern would suggest that these areas would see further increase in temperature in the next decades.

In order to investigate the connection between temperature, latitude and bleaching alerts further, the Figure below cen be examined. Here the first graph shows the max, mean and min yearly temperature as a function of latitude as seen previously. On this first graph is plotted all bleaching alerts of level 1-4 as a function of the corresponding temperature and latitude of the individual bleaching alerts. The plot is interactive such that individual bleaching alert levels can be hidden.

The bleaching alert temperature is from the NOAA dataset, and the temperature measurements can therefore be different than those obtained from the global dataset. This can be seen when comparing the bleaching alerts and the yearly max, where no bleaching alert should be able to have a temperature greater than the yearly maximum temperature. Taking into account the slight measuring difference most bleaching alerts seem to fall in between the mean and max yearly temperature, showing that bleaching alerts are strongly classified based on temperature. This is as expected since the bleaching alerts are defined based on the temperature. The plot also shows that the measurement stations covers most of the globe within the latitudinal range of -32 to 32.

The plotted bleaching alerts shows the dependence of mean temperature in detemining the bleaching alert. The same temperature does not equal the same bleaching alerts level, since it is the realtive local change in temperature that determines the severity of the expected bleaching.

The second graph of the Figure shows boxplots of each of the bleaching alert levels 0-4 as a function of temperature. These show that only based on temperature, bleaching alert level 1-4 seem to have very similar range and distribution of points. Bleaching alert level 0 encompasses more of the lower temperatures, the lowest being around 15 degrees celsius.

Taking a closer look at the bleaching alert, we can use the Figure below to investigate the seasonal trends. The Figure shows the amount of alerts for each specific day of the year.

The month of January to May seem to experience more bleaching alerts, but the most interesting trend is the level 4 alerts follows the same trend as the seasonal trend of temperature from section 1. Here it was seen that highest amount of level 4 alerts was around March and September. This further cements the problem of temperatue changes being the main driver of bleaching problems in coral reefs.

Now, one could ask what are the effects of direct human interactions on the coral reefs. Global disturbances such as fishing and tourism are known to be some of the human interactions that could possibly affect the coral reefs.

In the following it will be investigated whether these problems has an effect on bleaching alerts, as well as some of the socioeconomic consequences derived from coral reef bleaching.

Part 3: Social Effects of Coral Bleaching

Table of Contents


Coral Reefs are not only a part of an intrinsic ocean ecosystem, balancing fish life and ocean climate, but also plays a role in the socioeconomic system important to humans, both in terms of life enrichment and also livelihood. The reliability of coral reefs are to be examined in the following section.

The following Figure was created by Resource Watch using information on peoples' and countries' reliability on coral reefs.

The three categories used are:

  1. Social and Economic Dependence on Coral Reefs
  2. Adaptation Capacity to Reef Loss
  3. Vulnerability to Reef Loss

All of these categories are computed using information on population, fishery employment, reef-exports, nutritional dependency, tourism, economics, resources and life expectancy amung others. These give a rather interesting look into different countries' dependency of coral reefs. One could argue that life expectancy is not directly related to coral reefs, and hypothesize that a good healthcare system should count towards life expectancy more that factors relating to coral reefs.

The countries and areas with social and economic dependency on coral reefs are generally Asia, where smaller islands seems to be more reliant on the reefs. This is not surprising as it could be assumed that alot of fishing and tourism is a big part of the livelihood in these areas, given that there is not much landmass providing other ressources.

The areas vulnerable to coral reef loss, thus follows the places that are socioeconomically dependent on the reefs; namely islands.

Part 4: Case Study, Great Barrier Reef

Table of Contents


The Great Barrier Reef (GBR) is the largest coral reef system in the world and one of the few included in the UNESCO World Heritage List. The GBR is located off the coast of Queensland in the north-eastern part of Australia. Due to its large area, the BGR is split into sub-areas included as seperate tabs in the Figure below. In the Figure is shown yearly accumulated

Some of the areas does not have fishing data available within the proximitry of the reef, namely Far Northern GBR and Central GBR. The measurements stations at the different GBR reef locations cover the area within a 5 km radius from the station. Lack of fishing data at these stations therefore simply means no fishing has been logged within a 5 km proximetry of the station.

Note that in order to better show the smaller range of yearly fishing in tonnes, the upper y-axis limit is changed from 50 to 5 in the plots for Northern and Southern Coral Sea Islands.

From the Figure above it is seen

1998 drastic decrease in amount of industrial fishing.

Increased alerts?

Amount of alerts

Section trip_year Full_Day Part_Day Total_Exempt Total_Full_Part_Exempt FOC Exempt_Prepaid Exempt_More3days Scenic_Flights Coral_Viewing Total_ALL
0 ALL 2021 708949 254850 187614 1151413 33683 50943 102988 25116 59291 1235820
1 ALL 2020 619728 124887 127663 872278 22013 40978 64672 33053 50042 955373
2 ALL 2019 1579254 226861 286753 2092868 67005 122891 96857 92751 215768 2401387
3 ALL 2018 1697971 222686 340805 2261462 71183 158767 110855 110969 236518 2608949
4 ALL 2017 1667324 234384 339319 2241027 73596 156726 108997 115933 265312 2622272

COVID!

Discussion and Conclusions

Table of Contents


To understand climate change and the many consequences, it is important to take many factors into account as the examined ecosystems and cause of change are very complex. Here it was very difficult to accurately conclude that anything other than climate change is the cause of coral bleaching and the growing concern of ocean lifes eventual decline. It is therefore important to stress that it is not the purpose of this project to determine what causes coral bleaching, as the dataset utilized here is already using temperature to determine coral stress. This project just showcases some of the aspects from coral bleaching including possible socioeconomic consequences. It is clearly shown that a problem exists and continues to be of greater concern each year and probably into the future, if action to combat climate change is not adopted soon. Bleaching of coral reefs is also shown to have negative consequences for human life, economically, in that fishing and tourism of coral reefs, will be less viable in the future, if the reefs coverage concedes. Thus it cannot be concluded that tourism and fishing is as severe as climate change in the bleaching of coral reefs, but when socioeconomic wellbeing is dependent on ecosystems, such as reefs, it is verified that these are multifaceted complex problems, with many outcomes.

Availability of data on coral reefs are very limited; many datasets are estimated from in-situ measurements, which makes it difficult to get a good idea of the whole reef in question. In the NOAA dataset concerning bleaching alerts, the classification of alerts are based on temperature measurements, meaning other variables and impacts are difficult to attribute to this. In the environmental NOAA dataset, OceanSODA, many variables are determined from direct measurements, making it difficult to examine correlation and causality. Data available from the fishing and tourism industry are also scarce, and limited. This will make it difficult to determine any real impact on the climate as these datasets are directly correlated to temperature as mentioned earlier. One thing that these datasets can be used for, as described above, is an overview of general tendencies in this complex system.

It could have been interesting to overlap coral coverage over time and the extend of fishing, tourism and polution as well as temperature, to investigate the impact at a specific area instead of a general perspective. This is a continuos theme here; that these datasets are not specific enough to conclude anything or at least too general and on too large of a scale, to accurately determine relations between corals, fishes and peoples.

Following is for converting to html

remember to download the ipynb file, then upload it to content in the file to the left, and from here you can run the following code:

[NbConvertApp] WARNING | pattern '/content/ProjectCoral.ipynb' matched no files
This application is used to convert notebook files (*.ipynb)
        to various other formats.

        WARNING: THE COMMANDLINE INTERFACE MAY CHANGE IN FUTURE RELEASES.

Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some <cmd>, use:
    <cmd> --help-all

--debug
    set log level to logging.DEBUG (maximize logging output)
    Equivalent to: [--Application.log_level=10]
--show-config
    Show the application's configuration (human-readable format)
    Equivalent to: [--Application.show_config=True]
--show-config-json
    Show the application's configuration (json format)
    Equivalent to: [--Application.show_config_json=True]
--generate-config
    generate default config file
    Equivalent to: [--JupyterApp.generate_config=True]
-y
    Answer yes to any questions instead of prompting.
    Equivalent to: [--JupyterApp.answer_yes=True]
--execute
    Execute the notebook prior to export.
    Equivalent to: [--ExecutePreprocessor.enabled=True]
--allow-errors
    Continue notebook execution even if one of the cells throws an error and include the error message in the cell output (the default behaviour is to abort conversion). This flag is only relevant if '--execute' was specified, too.
    Equivalent to: [--ExecutePreprocessor.allow_errors=True]
--stdin
    read a single notebook file from stdin. Write the resulting notebook with default basename 'notebook.*'
    Equivalent to: [--NbConvertApp.from_stdin=True]
--stdout
    Write notebook output to stdout instead of files.
    Equivalent to: [--NbConvertApp.writer_class=StdoutWriter]
--inplace
    Run nbconvert in place, overwriting the existing notebook (only 
            relevant when converting to notebook format)
    Equivalent to: [--NbConvertApp.use_output_suffix=False --NbConvertApp.export_format=notebook --FilesWriter.build_directory=]
--clear-output
    Clear output of current file and save in place, 
            overwriting the existing notebook.
    Equivalent to: [--NbConvertApp.use_output_suffix=False --NbConvertApp.export_format=notebook --FilesWriter.build_directory= --ClearOutputPreprocessor.enabled=True]
--no-prompt
    Exclude input and output prompts from converted document.
    Equivalent to: [--TemplateExporter.exclude_input_prompt=True --TemplateExporter.exclude_output_prompt=True]
--no-input
    Exclude input cells and output prompts from converted document. 
            This mode is ideal for generating code-free reports.
    Equivalent to: [--TemplateExporter.exclude_output_prompt=True --TemplateExporter.exclude_input=True]
--log-level=<Enum>
    Set the log level by value or name.
    Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
    Default: 30
    Equivalent to: [--Application.log_level]
--config=<Unicode>
    Full path of a config file.
    Default: ''
    Equivalent to: [--JupyterApp.config_file]
--to=<Unicode>
    The export format to be used, either one of the built-in formats
            ['asciidoc', 'custom', 'html', 'latex', 'markdown', 'notebook', 'pdf', 'python', 'rst', 'script', 'slides']
            or a dotted object name that represents the import path for an
            `Exporter` class
    Default: 'html'
    Equivalent to: [--NbConvertApp.export_format]
--template=<Unicode>
    Name of the template file to use
    Default: ''
    Equivalent to: [--TemplateExporter.template_file]
--writer=<DottedObjectName>
    Writer class used to write the 
                                        results of the conversion
    Default: 'FilesWriter'
    Equivalent to: [--NbConvertApp.writer_class]
--post=<DottedOrNone>
    PostProcessor class used to write the
                                        results of the conversion
    Default: ''
    Equivalent to: [--NbConvertApp.postprocessor_class]
--output=<Unicode>
    overwrite base name use for output files.
                can only be used when converting one notebook at a time.
    Default: ''
    Equivalent to: [--NbConvertApp.output_base]
--output-dir=<Unicode>
    Directory to write output(s) to. Defaults
                                  to output to the directory of each notebook. To recover
                                  previous default behaviour (outputting to the current 
                                  working directory) use . as the flag value.
    Default: ''
    Equivalent to: [--FilesWriter.build_directory]
--reveal-prefix=<Unicode>
    The URL prefix for reveal.js (version 3.x).
            This defaults to the reveal CDN, but can be any url pointing to a copy 
            of reveal.js. 
            For speaker notes to work, this must be a relative path to a local 
            copy of reveal.js: e.g., "reveal.js".
            If a relative path is given, it must be a subdirectory of the
            current directory (from which the server is run).
            See the usage documentation
            (https://nbconvert.readthedocs.io/en/latest/usage.html#reveal-js-html-slideshow)
            for more details.
    Default: ''
    Equivalent to: [--SlidesExporter.reveal_url_prefix]
--nbformat=<Enum>
    The nbformat version to write.
            Use this to downgrade notebooks.
    Choices: any of [1, 2, 3, 4]
    Default: 4
    Equivalent to: [--NotebookExporter.nbformat_version]

Examples
--------

    The simplest way to use nbconvert is

            > jupyter nbconvert mynotebook.ipynb

            which will convert mynotebook.ipynb to the default format (probably HTML).

            You can specify the export format with `--to`.
            Options include ['asciidoc', 'custom', 'html', 'latex', 'markdown', 'notebook', 'pdf', 'python', 'rst', 'script', 'slides'].

            > jupyter nbconvert --to latex mynotebook.ipynb

            Both HTML and LaTeX support multiple output templates. LaTeX includes
            'base', 'article' and 'report'.  HTML includes 'basic' and 'full'. You
            can specify the flavor of the format used.

            > jupyter nbconvert --to html --template basic mynotebook.ipynb

            You can also pipe the output to stdout, rather than a file

            > jupyter nbconvert mynotebook.ipynb --stdout

            PDF is generated via latex

            > jupyter nbconvert mynotebook.ipynb --to pdf

            You can get (and serve) a Reveal.js-powered slideshow

            > jupyter nbconvert myslides.ipynb --to slides --post serve

            Multiple notebooks can be given at the command line in a couple of 
            different ways:

            > jupyter nbconvert notebook*.ipynb
            > jupyter nbconvert notebook1.ipynb notebook2.ipynb

            or you can specify the notebooks list in a config file, containing::

                c.NbConvertApp.notebooks = ["my_notebook.ipynb"]

            > jupyter nbconvert --config mycfg.py

To see all available configurables, use `--help-all`.

---------------------------------------------------------------------------
CalledProcessError                        Traceback (most recent call last)
<ipython-input-8-9df59c44364e> in <module>()
----> 1 get_ipython().run_cell_magic('shell', '', 'jupyter nbconvert /content/ProjectCoral.ipynb --no-input --to html')

/usr/local/lib/python3.7/dist-packages/IPython/core/interactiveshell.py in run_cell_magic(self, magic_name, line, cell)
   2115             magic_arg_s = self.var_expand(line, stack_depth)
   2116             with self.builtin_trap:
-> 2117                 result = fn(magic_arg_s, cell)
   2118             return result
   2119 

/usr/local/lib/python3.7/dist-packages/google/colab/_system_commands.py in _shell_cell_magic(args, cmd)
    111   result = _run_command(cmd, clear_streamed_output=False)
    112   if not parsed_args.ignore_errors:
--> 113     result.check_returncode()
    114   return result
    115 

/usr/local/lib/python3.7/dist-packages/google/colab/_system_commands.py in check_returncode(self)
    137     if self.returncode:
    138       raise subprocess.CalledProcessError(
--> 139           returncode=self.returncode, cmd=self.args, output=self.output)
    140 
    141   def _repr_pretty_(self, p, cycle):  # pylint:disable=unused-argument

CalledProcessError: Command 'jupyter nbconvert /content/ProjectCoral.ipynb --no-input --to html' returned non-zero exit status 255.